|
![](/i/fill.gif) |
> Have you come up with a way of handling scenes that use persistent variables
> (e.g. particle systems, physics, etc)?
It is clear that for such systems a frame can only be rendered if his
predecessor has already been done (or say the part modifying persistent
variables, i.e. parsing). This is of course totally in contrast with the
original idea of seperating the workload on multiple POV-instances. I
ran into a similar problem with an animation I'm working on which will
be rendered on the IMP farm (http://www.imp.org). The only way to handle
the situation was to change the scene not to use file-i/o (i.e.
persistent variables) at all.
Another approach which could work in many cases is to seperate
simulation from rendering: First, calculate the persistent variables and
save them in a frame-dependent include file (this must be done in a
single machine, of course). Then distribute this data among your render
clients (or make sure they can access it somehow) and render a second
pass using the data generated before. This would be a good idea if the
calculation of the persistent variables does not take too much time
compared to the rendering itself. (You can compare this method with a
two-pass rendering for splitted radiosity renders).
> Have you tried a similar approach on still images?
Would be pretty the same IMHO, simply do not hand out frames via
INI-files but parts of the image using +SR, +ER, +SC and +EC command
line switches.
If you are using Windows, you should take a look at SMPOV:
http://www.it-berater.org/smpov.htm
A freeware tool for distributed POV-rendering for Windows.
Another option would be POV-Anywhere by Christoph Hormann
(http://www-public.tu-bs.de:8080/~y0013390/povany/index.html) which
works on many platforms (including Windows using cygwin).
For animations there is also the Internet Movie Project (www.imp.org).
The server/client software is ported to Perl currently, so it works on
Windows and Linux, too (Current server is Windows only).
HTH,
Florian
Post a reply to this message
|
![](/i/fill.gif) |